package com.grape.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.grape.domain.AccountBook;
import com.grape.vo.BaseVo;

import java.util.List;

/**
 *
 * 账本表 服务类
 *
 * @author      putao
 * @email       2628279194@qq.com
 */
public interface IAccountBookService extends IService<AccountBook>, BaseService<AccountBook> {

    /**
     * 分页
     * @param       baseVo 统一分页对象
     * @return      账本表集合
     */
    List<AccountBook> listData(BaseVo baseVo);

    /**
     * 自定义分页
     * @param   baseVo      统一分页对象
     */
    void pageListCustom(BaseVo baseVo);

    /**
     * 修改
     * @param accountBook 账本表对象
     */
    void updateData(AccountBook accountBook);

    /**
     * 新增
     * @param       accountBook 账本表对象
     * @return      账本表对象
     */
    AccountBook insertData(AccountBook accountBook);

    /**
     * 删除
     * @param id    单据id
     * @return      删除条数
     */
    int deleteData(String id);

    /**
     * 根据id查询详情
     * @param id    单据id
     * @return      账本表对象
     */
    AccountBook detail(String id);

    /**
     * 查询当前用户全部账本
     * @return 账本列表
     */
    List<AccountBook> listAll();

    /**
     * 初始化账本数据（账本，账户，分类）
     * @param userId  用户id
     * @return 账本对象
     */
    void insertDefaultData(String userId);
}

